// server/src/index.ts
import express from 'express'
import cors from 'cors'
import dotenv from 'dotenv'

// 路由导入
import authRoutes from './routes/auth'
import contentRoutes from './routes/content'
import categoryRoutes from './routes/categories'

// 加载环境变量
dotenv.config()

const app = express()
const PORT = process.env.PORT || 3001

// 中间件
app.use(cors())
app.use(express.json({ limit: '10mb' }))
app.use(express.urlencoded({ extended: true }))

// 健康检查路由
app.get('/health', (req, res) => {
  res.json({ 
    status: 'OK', 
    timestamp: new Date().toISOString(),
    environment: process.env.NODE_ENV 
  })
})

// API 路由
app.use('/api/auth', authRoutes)
app.use('/api/contents', contentRoutes)
app.use('/api/categories', categoryRoutes)

// 404 处理
app.use('*', (req, res) => {
  res.status(404).json({
    success: false,
    error: '接口不存在'
  })
})

// 全局错误处理
app.use((error: any, req: express.Request, res: express.Response, next: express.NextFunction) => {
  console.error('Global error handler:', error)
  res.status(500).json({
    success: false,
    error: '服务器内部错误'
  })
})

app.listen(PORT, () => {
  console.log(`🚀 服务器运行在端口 ${PORT}`)
  console.log(`📊 环境: ${process.env.NODE_ENV}`)
  console.log(`🔗 API地址: http://localhost:${PORT}/api`)
})